(function (om) {
	om.sh.languages['php'] = [
		[
			[
				/\b(?:include|include_once|require|require_once)\b/g,
				'shjs_preproc',
				-1
			],
			[
				/\/\//g,
				'shjs_comment',
				1
			],
			[
				/#/g,
				'shjs_comment',
				1
			],
			[
				/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,
				'shjs_number',
				-1
			],
			[
				/"/g,
				'shjs_string',
				2
			],
			[
				/'/g,
				'shjs_string',
				3
			],
			[
				/\b(?:and|or|xor|__FILE__|exception|php_user_filter|__LINE__|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|each|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|for|foreach|function|global|if|isset|list|new|old_function|print|return|static|switch|unset|use|var|while|__FUNCTION__|__CLASS__|__METHOD__)\b/g,
				'shjs_keyword',
				-1
			],
			[
				/\/\/\//g,
				'shjs_comment',
				4
			],
			[
				/\/\//g,
				'shjs_comment',
				1
			],
			[
				/\/\*\*/g,
				'shjs_comment',
				9
			],
			[
				/\/\*/g,
				'shjs_comment',
				10
			],
			[
				/(?:\$[#]?|@|%)[A-Za-z0-9_]+/g,
				'shjs_variable',
				-1
			],
			[
				/<\?php|~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
				'shjs_symbol',
				-1
			],
			[
				/\{|\}/g,
				'shjs_cbracket',
				-1
			],
			[
				/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,
				'shjs_function',
				-1
			]
		],
		[
			[
				/$/g,
				null,
				-2
			]
		],
		[
			[
				/\\(?:\\|")/g,
				null,
				-1
			],
			[
				/"/g,
				'shjs_string',
				-2
			]
		],
		[
			[
				/\\(?:\\|')/g,
				null,
				-1
			],
			[
				/'/g,
				'shjs_string',
				-2
			]
		],
		[
			[
				/$/g,
				null,
				-2
			],
			[
				/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
				'shjs_url',
				-1
			],
			[
				/<\?xml/g,
				'shjs_preproc',
				5,
				1
			],
			[
				/<!DOCTYPE/g,
				'shjs_preproc',
				6,
				1
			],
			[
				/<!--/g,
				'shjs_comment',
				7
			],
			[
				/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,
				'shjs_keyword',
				-1
			],
			[
				/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,
				'shjs_keyword',
				8,
				1
			],
			[
				/&(?:[A-Za-z0-9]+);/g,
				'shjs_preproc',
				-1
			],
			[
				/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,
				'shjs_keyword',
				-1
			],
			[
				/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,
				'shjs_keyword',
				8,
				1
			],
			[
				/@[A-Za-z]+/g,
				'shjs_type',
				-1
			],
			[
				/(?:TODO|FIXME|BUG)(?:[:]?)/g,
				'shjs_todo',
				-1
			]
		],
		[
			[
				/\?>/g,
				'shjs_preproc',
				-2
			],
			[
				/([^=" \t>]+)([ \t]*)(=?)/g,
				['shjs_type', 'shjs_normal', 'shjs_symbol'],
				-1
			],
			[
				/"/g,
				'shjs_string',
				2
			]
		],
		[
			[
				/>/g,
				'shjs_preproc',
				-2
			],
			[
				/([^=" \t>]+)([ \t]*)(=?)/g,
				['shjs_type', 'shjs_normal', 'shjs_symbol'],
				-1
			],
			[
				/"/g,
				'shjs_string',
				2
			]
		],
		[
			[
				/-->/g,
				'shjs_comment',
				-2
			],
			[
				/<!--/g,
				'shjs_comment',
				7
			]
		],
		[
			[
				/(?:\/)?>/g,
				'shjs_keyword',
				-2
			],
			[
				/([^=" \t>]+)([ \t]*)(=?)/g,
				['shjs_type', 'shjs_normal', 'shjs_symbol'],
				-1
			],
			[
				/"/g,
				'shjs_string',
				2
			]
		],
		[
			[
				/\*\//g,
				'shjs_comment',
				-2
			],
			[
				/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
				'shjs_url',
				-1
			],
			[
				/<\?xml/g,
				'shjs_preproc',
				5,
				1
			],
			[
				/<!DOCTYPE/g,
				'shjs_preproc',
				6,
				1
			],
			[
				/<!--/g,
				'shjs_comment',
				7
			],
			[
				/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,
				'shjs_keyword',
				-1
			],
			[
				/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,
				'shjs_keyword',
				8,
				1
			],
			[
				/&(?:[A-Za-z0-9]+);/g,
				'shjs_preproc',
				-1
			],
			[
				/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,
				'shjs_keyword',
				-1
			],
			[
				/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,
				'shjs_keyword',
				8,
				1
			],
			[
				/@[A-Za-z]+/g,
				'shjs_type',
				-1
			],
			[
				/(?:TODO|FIXME|BUG)(?:[:]?)/g,
				'shjs_todo',
				-1
			]
		],
		[
			[
				/\*\//g,
				'shjs_comment',
				-2
			],
			[
				/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
				'shjs_url',
				-1
			],
			[
				/(?:TODO|FIXME|BUG)(?:[:]?)/g,
				'shjs_todo',
				-1
			]
		]
	];
}(om));
